﻿using System;

namespace Kyoh.Lib.Component.Arguments
{
    /// <summary>引数オブジェクトを表すクラスに対する装飾属性を定義します。</summary>
    [AttributeUsage(AttributeTargets.Class, Inherited = true, AllowMultiple = false)]
    public sealed class ArgumentObjectAttribute : ArgumentAttributeBase
    {
        /// <summary>何もオプションを指定しない場合の <see cref="ArgumentObjectAttribute"/> を取得します。</summary>
        public static readonly ArgumentObjectAttribute Default = new ArgumentObjectAttribute() { prefixes = ArgumentAttributeBase.GetDefaultPrefixes(), separators = ArgumentAttributeBase.GetDefaultSeparators() };
        /// <summary>引数名に指定された文字列の、大文字/小文字を区別しないかどうかを取得・設定します。</summary>
        public bool IgnoreCase { get; set; }
    }
}
